package org.example.memora.mapper;

import org.apache.ibatis.annotations.Param;
import org.example.memora.entity.Post;
import org.example.memora.entity.PostCollect;

import java.util.List;

public interface PostCollectMapper {

    /**
     * 根据用户ID和帖子ID查询收藏记录
     */
    PostCollect selectByUserAndPost(Long userId, String postId);

    /**
     * 插入收藏记录
     */
    int insertCollect(PostCollect record);

    /**
     * 根据用户ID和帖子ID删除收藏记录
     */
    int deleteCollect(Long userId, String postId);

    // 查询收藏的帖子（分页）
    List<Post> selectCollectedPostsByUser(@Param("userId") Long userId,
                                          @Param("offset") int offset,
                                          @Param("limit") int limit);

    // 查询用户收藏帖子的总数
    long countCollectedPostsByUser(@Param("userId") Long userId);
}
